package leetCode.offer16;

/**
 * 实现 pow(x, n) ，即计算 x 的 n 次幂函数（即，x^n）。不得使用库函数，同时不需要考虑大数问题。
 */
public class Solution1 implements Solution{


    @Override
    public double myPow(double x, int n) {
        if(n==0) return 1;
        if(x==1) return 1;
        if(x==-1) {
            if(n%2==0) return 1;
            else
                return -1;
        }
        double result = 1;
        if(n>0){
            for(int i = 0;i<n;i++){
                result *= x;
            }
            return result;
        }
        long num = n;
        num*=-1;
        for(long i = 0;i < num; i++){
            result *= x;
            if(1/result==0) break;
        }
        return 1/result;
    }

    public static void main(String[] args) {
        System.out.println(new Solution1().myPow(2,-2147483648));
    }

}
